The present invention concerns a graphics controller for a computer, and more specifically, a cache for a raster operation unit (ROP) which is used to store a scan line of a pattern tile.
In a computer display system in which a graphics controller is used in the display of information on a video monitor, the graphics controller is typically called on to display various repeated patterns, also referred to herein as tile patterns. In some graphics controllers, no internal storage is provided for a repeated pattern. In such a case, the device driver software performs all patterning operations. This solution, however, can result in poor display performance. Additionally, a significant software development and maintenance effort may be required.
In an alternate solution, a minimal amount of repeated pattern support may be implemented in hardware without adding any local storage for the pattern data within the graphics controller. The complete pattern is stored in the frame buffer memory. Each frame buffer write from a raster operation unit to a frame buffer memory is preceded by an operation to read pattern data from non-displayed memory locations within the frame buffer memory. While such a system reduces the software driver development effort, the frequent pattern read operations from the frame buffer memory consume a significant percentage of the total memory bandwidth. The overall performance of the repeat pattern operations remains fairly low.
In another alternate solution, memory within the controller is provided which stores an entire pattern. This allows for display of information integrated within a pattern at virtually the same performance as the display of information not integrated in a pattern. While this approach provides very high performance, storing the complete pattern requires a significant hardware investment within the controller. However, the solution does have the advantage of minimizing software driver support as it only requires loading a pattern from unused portions of the frame buffer whenever the pattern changes. Alternately, the pattern may be stored elsewhere in the computer system, such as system memory or in the CPU.